1. Field of the Invention
The present invention relates to software applications. More particularly, the present invention relates to the clustering of data to predict interests and interest ratings.
2. Description of the Related Art
Conceptually, a computing system (e.g., a computing device, a personal computer, a laptop, a Smartphone, a mobile phone) can accept information (content or data) and manipulate it to obtain or determine a result based on a sequence of instructions (or a computer program) that effectively describes how to process the information. Typically, the information used by a computing system is stored in a computer readable memory using a digital or binary form. More complex computing systems can store content including the computer program itself. A computer program may be invariable and/or built into, for example a computer (or computing) device as logic circuitry provided on microprocessors or computer chips. Today, general purpose computers can have both kinds of programming. A computing system can also have a support system which, among other things, manages various resources (e.g., memory, peripheral devices) and services (e.g., basic functions such as opening files) and allows the resources to be shared among multiple programs. One such support system is generally known as an Operating System (OS) which provides programmers with an interface used to access these resources and services.
Today, numerous types of computing devices are available. These computing devices widely range with respect to size, cost, amount of storage and processing power, from the expensive and powerful servers, relatively cheaper Personal Computers (PC's) and laptops, to more inexpensive microprocessors or computer chips provided in storage devices, automobiles, and household electronic appliances.
In recent years, computing systems have become more portable and mobile. As a result, various mobile and handheld devices have been made available. By way of example, wireless phones, media players, Personal Digital Assistants (PDA's) are widely used today. Generally, a mobile or a handheld device (also known as handheld computer or simply handheld) can be a pocket-sized computing device, typically utilizing a small visual display screen for user output and a miniaturized keyboard for user input. In the case of a Personal Digital Assistant (PDA), the input and output can be combined into a touch-screen interface.
In particular, mobile communication devices (e.g., mobile phones) have become extremely popular. Some mobile communication devices (e.g., Smartphones) offer computing environments that are similar to that provided by a Personal Computer (PC). As such, a Smartphone can effectively provide a complete operating system as a standardized interface and platform for application developers. Given the popularity of mobile communication devices, telecommunication is discussed in greater detail below.
Generally, a mobile phone or cell phone can be a long-range, portable electronic device used for mobile communication. In addition to the standard voice function of a telephone, current mobile phones can support many additional services such as Short Message Service (SMS) for text messaging, email, packet switching for access to the Internet, and Multimedia Messaging Service (MMS) for sending and receiving photos and video. Most current mobile phones connect to a cellular network of base stations (cell sites), which is in turn interconnected to the public switched telephone network (PSTN) (one exception is satellite phones).
SMS, often called text messaging, is a means of sending short messages to and from mobile phones. SMS was originally defined as part of the GSM series of standards in 1985 as a means of sending messages of up to 160 characters, to and from Global System for Mobile communications (GSM) mobile handsets. Since then, support for the service has expanded to include alternative mobile standards such as ANSI CDMA networks and Digital AMPS, satellite and landline networks. Most SMS messages are mobile-to-mobile text messages, though the standard supports other types of broadcast messaging as well. The term SMS is frequently used in a non-technical sense to refer to the text messages themselves, particularly in non-English-speaking European countries where the GSM system is well-established.
Multimedia Messaging Service (MMS) is a relatively more modern standard for telephony messaging systems that allows sending messages that include multimedia objects (images, audio, video, rich text) and not just text as in Short Message Service (SMS). It can be deployed in cellular networks along with other messaging systems like SMS, Mobile Instant Messaging and Mobile E-mail. Its main standardization effort is done by 3GPP, 3GPP2 and Open Mobile Alliance (OMA).
A popular task for many computing devices is to link people with relevant information. Different computing devices perform such linking in a variety of ways, depending on the needs of a particular application. Many people, for example, are accustomed to typing keywords into an Internet search engine to find desirable information. Visitors to an e-commerce site are often greeted with ads and recommendations tailored to their preferences. Particular computing devices derive such recommendations from a comparison between the visitor's past purchasing decisions and the purchasing decisions of other users.
The generation of recommendations in this manner can involve the processing of large amounts of user data. Various techniques have been used to optimize such processing. Some computing devices use fixed, predetermined rules that prioritize one type of user data over another in making a recommendation. Other computing devices, for example, pose direct questions to a user to determine what the user desires at a later time.
These approaches, while effective in many applications, have weaknesses. Direct questioning is often disliked by users and consumes time and system resources. Rules typically require updating and may be based on faulty assumptions.
Accordingly, techniques that can help computing devices make better recommendations for one or more users would be useful.